package com.ellecity06.cwhiskymall.ui.mine

import com.ellecity06.common.base.view.IUiState
import com.ellecity06.cwhiskymall.bean.response.MemberInfo
import com.ellecity06.cwhiskymall.bean.response.StatisticalResponse
import com.ellecity06.cwhiskymall.bean.response.UserAccountResponse
import com.ellecity06.cwhiskymall.bean.response.UserCenterResponse

/**
 * @author ellecity06
 * @time 2024/10/26 11:25
 * @des
 */
sealed class MineState : IUiState {

    data class UserInfo(val data: MemberInfo) : MineState()
    data class UserAccountInfo(val data: UserAccountResponse) : MineState()
    data class UserCenterInfo(val data: UserCenterResponse) : MineState()
    data class UserStatisticalInfo(val data: StatisticalResponse?) : MineState()
    data class FirstOrderId(val data: Int) : MineState()
    object Error : MineState()
    object LogoutSuccess : MineState()

    /**
     * 去数据流转的平台之前先需要获取应用平台token, 1-贡献金兑换，2-应用排名 ，3-应用市场 ,4 -应用的个人中心
     */
    data class GetCurrentTokenSuccess(
        val isClick: Boolean = false,
        /**
         *  1-贡献金兑换，2-应用排名 ，3-应用市场
         */
        val clickType: Int = 0
    ) : MineState()

}
